home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tech Arsenal 1
/
Tech Arsenal (Arsenal Computer).ISO
/
tek-04
/
zbpc_460.zip
/
UTILITY.EXE
/
FILES.BAS
< prev
next >
Wrap
BASIC Source File
|
1991-04-04
|
3KB
|
104 lines
DIM 1 Chr_0$ : Chr_0$ = CHR$(0)
DEF FN Mod!(X!, Y!) = FRAC(X! / Y!) * Y!
DEF FN M_D_Y%(MM%, DD%, YY%) = (YY% << 9) + (MM% << 5) + DD%
DEF FN Year%(Date%) = Date% >> 9
DEF FN Month%(Date%) = (Date% >> 5) AND 15
DEF FN Day%(Date%) = Date% AND 31
LONG FN DT$(Date%)
DIM 2 DT_D$, 2 DT_M$, DT_Y$
DT_M$ = RIGHT$( STR$( FN Month%( Date% ) ), 2 )
DT_D$ = RIGHT$( STR$( FN Day%( Date% ) + 100 ), 2 )
DT_Y$ = RIGHT$( STR$( FN Year%( Date% ) + 100 ), 2 )
END FN = DT_M$ + "/" + DT_D$ + "/" + DT_Y$
DIM FileTime%(&64)
DIM FileDate%(&64)
DIM Size_Lo%(&64), Size_Hi%(&64)
DIM 13 FileName$(&64)
DIM 15 WildName$
DIM WildName_Seg%
DIM FileName_Seg%, FileName_Off%
DIM File_Cnt%
WildName_Seg% = MEM STR
FileName_Seg% = MEM ARR FileName$(0)
LONG FN Directory( WildName$ )
DIM Dta_OffSet%
DIM Dta_Seg%
WildName$ = WildName$ + Chr_0$
File_Cnt% = -1
FileName_Off% = 0
FileTime% = VARPTR( FileTime%(0) )
FileDate% = VARPTR( FileDate%(0) )
Size_Lo% = VARPTR( Size_Lo%(0) )
Size_Hi% = VARPTR( Size_Hi%(0) )
MACHLG &06
MACHLG &1E
MACHLG &B4, &2F
MACHLG &CD, &21
MACHLG &8C, &06, Dta_Seg%
MACHLG &89, &1E, Dta_OffSet%
MACHLG &BA, WildName$
MACHLG &42
MACHLG &8E, &1E, WildName_Seg%
MACHLG &B4, &4E
MACHLG &33, &C9
MACHLG &CD, &21
MACHLG &72, &64
MACHLG &89, &E5
MACHLG &8B, &56, &0
MACHLG &8E, &DA
MACHLG &8E, &C2
MACHLG &8B, &36, Dta_OffSet%
MACHLG &83, &C6, &16
MACHLG &8B, &3E, FileTime%
MACHLG &8E, &1E, Dta_Seg%
MACHLG &A5
MACHLG &26, &89, &3E, FileTime%
MACHLG &26, &8B, &3E, FileDate%
MACHLG &A5
MACHLG &26, &89, &3E, FileDate%
MACHLG &26, &8B, &3E, Size_Lo%
MACHLG &A5
MACHLG &26, &89, &3E, Size_Lo%
MACHLG &26, &8B, &3E, Size_Hi%
MACHLG &A5
MACHLG &26, &89, &3E, Size_Hi%
MACHLG &26, &8B, &3E, FileName_Off%
MACHLG &26, &8E, &06, FileName_Seg%
MACHLG &B9, &0D, &0
MACHLG &88, &C8
MACHLG &AA
MACHLG &F3, &A4
MACHLG &8E, &DA
MACHLG &89, &3E, FileName_Off%
MACHLG &B4, &4F
MACHLG &FF, &06, File_Cnt%
MACHLG &83, &3E, File_Cnt%, &64
MACHLG &7C, &96
MACHLG &1F
MACHLG &07
END FN
DEF FN Uns#( Uns_X ) = FIX( Uns_X AND &7FFF ) - FIX( Uns_X AND &8000 )
DEF FN Hour%(Time%) = Time% >> 11
DEF FN Minute%(Time%) = (Time% >> 5) AND 63
DEF FN Second%(Time%) = (Time% AND 31) << 1
"LOOP"
INPUT &14, "Filename to search for: "; WildName$
LONG IF LEN( WildName$ )
FN Directory( WildName$ )
LONG IF File_Cnt% >= 0
FOR I% = 0 TO File_Cnt%
PRINT LEFT$( FileName$(I%), INSTR( 1, FileName$(I%), Chr_0$ ) - 1 );
PRINT TAB(12); USING "######### "; FN Uns#( Size_Hi%(I%) ) * 65536. + FN Uns#( Size_Lo%(I%) );
PRINT FN DT$( FileDate%(I%) + (80 << 9) );
H% = FN Hour%( FileTime%(I%) )
H1% = H% MOD 12
IF H1% = 0 THEN H1% = 12
PRINT USING " ##:##:##"; H1% * 10000. + FN Minute%( FileTime%(I%) ) * 100. + FN Second%( FileTime%(I%) );
IF H% < 12 THEN PRINT " AM" ELSE PRINT " PM"
NEXT I%
END IF
PRINT TAB(10); File_Cnt% + 1; "Files found"
PRINT
GOTO "LOOP"
END IF